// 导入 Vue
import Vue from 'vue'
// 导入 vue-i18n 插件
import VueI18n from 'vue-i18n'
import locale from 'element-ui/lib/locale' // 导入 Element 语言配置插件

// 这两个包是为了改变使用element-ui组件语言
import enLocale from 'element-ui/lib/locale/lang/en' // 导入 Element 英文包
import zhLocale from 'element-ui/lib/locale/lang/zh-CN' // 导入 Element 中文包

// 全局注册VueI18n
Vue.use(VueI18n)

// 创建国际化插件的实例
const i18n = new VueI18n({
  locale: 'zh', // 设置地区，zh 表示中国地区
  // 设置地区信息
  messages: {
    en: {
      sidebar: {
        dashboard: 'Dashboard',
        approvals: 'Approvals',
        departments: 'Departments',
        employees: 'Employees',
        permissions: 'Permissions',
        attendances: 'Attendances',
        salarys: 'Salarys',
        settings: 'Company-Settings',
        social_securitys: 'Social'
      },
      navbar: {
        companyName: 'Jiangsu Chuanzhi podcast Education Technology CoLtd'
      },
      ...enLocale
    },
    zh: {
      sidebar: {
        dashboard: '首页',
        approvals: '审批',
        departments: '组织架构',
        employees: '员工',
        permissions: '权限管理',
        attendances: '考勤',
        salarys: '工资',
        settings: '公司设置',
        social_securitys: '社保'
      },
      navbar: {
        companyName: '江苏传智播客教育科技股份有限公司'
      },
      ...zhLocale
    }
  }
})

// 配置 Element 语言转换关系
locale.i18n((key, value) => i18n.t(key, value))

// vuei18n内部的工作原理
// 1．会给Vue原型上添加$t方法
// 2．我们自己业务vue文件中，文字部分都要换成$t方法，然后在方法中传入要获取的对象的属性值路径字符串
// 3．$t方法内，会根据locale的值，去messages里面取出对应环境的语言对象，然后再拼接本次寻找值对象属性的路径，找到对应的值返回到$t函数位置
export default i18n
